Developer experience + accessibility (release 0.3.0) - #8
Merged
Conversation
…ssert
Quality-of-life for editor/terminal users and a first-class accessibility pass.
DX:
- `--plain`: tab-separated, id-first, one record per line (recall/beliefs/read) —
pipe to fzf/awk/cut.
- `memware completions {bash,zsh,fish}` (new `[shell]` extra, via shtab).
- Rich --help: per-command examples, an ENVIRONMENT/FILES/ACCESSIBILITY epilog,
defaults shown; duplicate global flags hidden from subcommand help.
- `memware assert -`: batch tab-separated subject/relation/value[/source] from
stdin (# and blank lines skipped); pairs with `beliefs --plain | cut` for an
$EDITOR round-trip.
- XDG-aware home for fresh installs (existing ~/.memware never migrated); the
store path follows it.
Accessibility:
- No colour is ever emitted (NO_COLOR honoured by construction); nothing relies
on colour.
- Default human output is labeled `field : value`, one per line, empty fields
skipped — linear for screen readers.
- `--ascii` / MEMWARE_ASCII, plus automatic fallback on a non-UTF-8 locale, swaps
the … elision glyph for ASCII.
- New memware.term module; index snippet/join use the ascii-aware marker.
Docs: docs/editor-integration.md (emacs/vim/neovim/fzf recipes, no plugins),
docs/accessibility.md, docs/memware.1 man page, README sections.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01NnaQwZUSDRbVUNh8fsdksD
Bump package and both plugin manifests to 0.3.0 (per the drift guard), and record the release in the changelog. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01NnaQwZUSDRbVUNh8fsdksD
macOS runners export LC_CTYPE=UTF-8, which correctly outranks the test's LANG=C (POSIX precedence LC_ALL > LC_CTYPE > LANG). Clear LC_ALL/LC_CTYPE so the locale under test is deterministic, and add a test that LC_ALL outranks LANG. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01NnaQwZUSDRbVUNh8fsdksD
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Quality-of-life for emacs/vim/hardcore-CLI users, plus a first-class accessibility pass. Editor support is CLI-ergonomics + recipes (no plugins to maintain) — the chosen scope.
Developer experience
--plainforrecall/beliefs/read: tab-separated, id-first, one record per line — pipe tofzf/awk/cut.memware completions {bash,zsh,fish}(generated from the parser via shtab; newmemware[shell]extra).--help: per-command examples and an ENVIRONMENT/FILES/ACCESSIBILITY epilog, defaults shown, duplicate global flags hidden from subcommand help.memware assert -: batch tab-separatedsubject/relation/value[/source]from stdin (#/blank lines skipped); pairs withbeliefs --plain | cut -f2,3,4,9for an$EDITORround-trip.$MEMWARE_HOME→ existing~/.memware→$XDG_DATA_HOME/memware→~/.memware; existing installs never migrated.docs/memware.1, anddocs/editor-integration.md(emacs/vim/neovim/fzf recipes).Accessibility (best-in-class for a CLI)
NO_COLORhonoured by construction.field : value, one per line, empty fields skipped (linear, nothing aligned by eye).--ascii/MEMWARE_ASCII, plus automatic fallback on a non-UTF-8 locale, swaps the…elision glyph for....docs/accessibility.mdstates the commitments; regressions are treated as bugs.Tests
New coverage for
--plain, the labeled default view, stdin batch assert, the usage-error exit code,completions, help examples, XDG home resolution, andmemware.term. Full suite + ruff + format + mypy green; man page passesmandoclint; hooks.json validated.Bumps to 0.3.0 (package + both plugin manifests, per the drift-guard test).
🤖 Generated with Claude Code